package com.sino.operation.peripheral.esc.request.core.body;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.sino.operation.peripheral.esc.request.CoreHead;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;

/**
 * TOD
 *
 * @author Administrator
 * date 2021/10/21 0021 0:15
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(description = "销户发往核心的标准escBody格式")
public class EscBodyCore2117 {

    @JsonProperty("CORE_HEAD")
    @ApiModelProperty(value = "核心头信息",name = "CORE_HEAD")
    private CoreHead coreHead;

    @JsonProperty("cncl_acct_way")
    @ApiModelProperty(name = "cncl_acct_way",value = "销户方式")
    private String cnclAcctWay;

    @JsonProperty("cust_acct_num")
    @ApiModelProperty(name = "cust_acct_num",value = "客户账号")
    private String custAcctNum;

    @JsonProperty("cust_acct_nm")
    @ApiModelProperty(name = "cust_acct_nm",value = "客户账户名称")
    private String custAcctNm;

    @JsonProperty("cust_acct_num_tp")
    @ApiModelProperty(name = "cust_acct_num_tp",value = "客户账号类型")
    private String custAcctNumTp;

    @JsonProperty("sub_acct_serl_num")
    @ApiModelProperty(name = "sub_acct_serl_num",value = "子账户序号")
    private String subAcctSerlNum;

    @JsonProperty("ccy_code_num")
    @ApiModelProperty(name = "ccy_code_num",value = "货币代号")
    private String ccyCodeNum;

    @JsonProperty("acct_cash_rmtc_flg")
    @ApiModelProperty(name = "acct_cash_rmtc_flg",value = "账户钞汇标志")
    private String acctCashRmtcFlg;

    @JsonProperty("prod_code")
    @ApiModelProperty(name = "prod_code",value = "产品编号")
    private String prodCode;

    @JsonProperty("lblty_acct_num")
    @ApiModelProperty(name = "lblty_acct_num",value = "负债账号 ")
    private String lbltyAcctNum;

    @JsonProperty("acct_bal")
    @ApiModelProperty(name = "acct_bal",value = "账户余额")
    private BigDecimal acctBal;

    @JsonProperty("change_amt")
    @ApiModelProperty(name = "change_amt",value = "找零金额")
    private BigDecimal changeAmt;

    @JsonProperty("matu_dt")
    @ApiModelProperty(name = "matu_dt",value = "到期日期 ")
    private String matuDt;

    @JsonProperty("ntc_num")
    @ApiModelProperty(name = "ntc_num",value = "通知编号")
    private String ntcNum;

    @JsonProperty("cptl_drcn")
    @ApiModelProperty(name = "cptl_drcn",value = "资金去向")
    private String cptlDrcn;

    @JsonProperty("cash_wthdl_ccy")
    @ApiModelProperty(name = "cash_wthdl_ccy",value = "取现币种")
    private String cashWthdlCcy;

    @JsonProperty("cash_amt")
    @ApiModelProperty(name = "cash_amt",value = "现金金额")
    private String cashAmt;

    @JsonProperty("vchr_catg")
    @ApiModelProperty(name = "vchr_catg",value = "凭证种类")
    private String vchrCatg;

    @JsonProperty("vchr_btch_num")
    @ApiModelProperty(name = "vchr_btch_num",value = "凭证批号")
    private String vchrBtchNum;

    @JsonProperty("vchr_serl_num")
    @ApiModelProperty(name = "vchr_serl_num",value = "凭证序号")
    private String vchrSerlNum;

    @JsonProperty("loss_num")
    @ApiModelProperty(name = "loss_num",value = "挂失编号")
    private String lossNum;

    @JsonProperty("pymt_cond")
    @ApiModelProperty(name = "pymt_cond",value = "支付条件 ")
    private String pymtCond;

    @JsonProperty("txn_pswd")
    @ApiModelProperty(name = "txn_pswd",value = "交易密码")
    private String txnPswd;

    @JsonProperty("pymt_pswd")
    @ApiModelProperty(name = "pymt_pswd",value = "支付密码")
    private String pymtPswd;

    @JsonProperty("pymt_vchr_dt")
    @ApiModelProperty(name = "pymt_vchr_dt",value = "支付凭证日期")
    private String pymtVchrDt;

    @JsonProperty("open_dt")
    @ApiModelProperty(name = "open_dt",value = "开通日期")
    private String openDt;

    @JsonProperty("trfr_in_cust_acct_num")
    @ApiModelProperty(name = "trfr_in_cust_acct_num",value = "转入客户账号")
    private String trfrInCustAcctNum;

    @JsonProperty("trfr_in_sub_acct_serl_num")
    @ApiModelProperty(name = "trfr_in_sub_acct_serl_num",value = "转入子账户序号")
    private String trfrInSubAcctSerlNum;

    @JsonProperty("trfr_in_ccy_code_num")
    @ApiModelProperty(name = "trfr_in_ccy_code_num",value = "转入货币代号")
    private String trfrInCcyCodeNum;

    @JsonProperty("trfr_in_cash_rmtc_flg")
    @ApiModelProperty(name = "trfr_in_cash_rmtc_flg",value = "转入钞汇标志")
    private String trfrInCashRmtcFlg;

    @JsonProperty("new_prod_code")
    @ApiModelProperty(name = "new_prod_code",value = "新产品代码")
    private String newProdCode;

    @JsonProperty("trfr_in_acct_nm")
    @ApiModelProperty(name = "trfr_in_acct_nm",value = "转入账户名称")
    private String trfrInAcctNm;

    @JsonProperty("cash_item_code")
    @ApiModelProperty(name = "cash_item_code",value = "现金项目代码")
    private String cashItemCode;

    @JsonProperty("abst_code")
    @ApiModelProperty(name = "abst_code",value = "摘要代码")
    private String abstCode;

    @JsonProperty("abst_dsc")
    @ApiModelProperty(name = "abst_dsc",value = "摘要描述")
    private String abstDsc;

    @JsonProperty("remks")
    @ApiModelProperty(name = "remks",value = "备注")
    private String remks;

    @JsonProperty("chrg_amt_src")
    @ApiModelProperty(name = "chrg_amt_src",value = "是否收费金额来源")
    private String chrgAmtSrc;

    @JsonProperty("prod_nm")
    @ApiModelProperty(name = "prod_nm",value = "产品名称")
    private String prodNm;

    @JsonProperty("dept_acct_cncl_acct_amt")
    @ApiModelProperty(name = "dept_acct_cncl_acct_amt",value = "存款账户销户金额 ")
    private BigDecimal deptAcctCnclAcctAmt;

    @JsonProperty("agnt_docs_catg")
    @ApiModelProperty(name = "agnt_docs_catg",value = "代理人证件种类")
    private String agntDocsCatg;

    @JsonProperty("agnt_docs_num")
    @ApiModelProperty(name = "agnt_docs_num",value = "代理人证件号码")
    private String agntDocsNum;

    @JsonProperty("agnt_nm")
    @ApiModelProperty(name = "agnt_nm",value = "代理人名称")
    private String agntNm;

    @JsonProperty("prod_term_dmd_acct_flg")
    @ApiModelProperty(name = "prod_term_dmd_acct_flg",value = "产品定活标志")
    private String prodTermDmdAcctFlg;

    @JsonProperty("change_ccy")
    @ApiModelProperty(name = "change_ccy",value = "找零币种")
    private String changeCcy;

    @JsonProperty("pswd_catg")
    @ApiModelProperty(name = "pswd_catg",value = "密码种类")
    private String pswdCatg;

    @JsonProperty("back_ddc_amt")
    @ApiModelProperty(name = "back_ddc_amt",value = "倒扣金额")
    private BigDecimal backDdcAmt;
}
